import SpiderModel from "./server/model/SpiderModel.js";
import DltDataModel from "./server/model/DltDataModel.js";
import express from "express";
const app = express();

// 使用 express.json() 中间件解析 JSON 格式的请求体数据
app.use(express.json());

app.use('/',express.static('public'));

// 处理跨域请求
app.use((req, res, next) => {
    // 允许所有来源的跨域请求
    res.header('Access-Control-Allow-Origin', '*');
    // 允许特定的HTTP方法
    res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD');
    // 允许特定的请求头
    res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
    // 允许携带凭证（如Cookies）
    res.header('Access-Control-Allow-Credentials', 'true');
    next();
});

const config = {
    host: '127.0.0.1',
    port: 8081
}
app.listen(config.port, function () {
    console.log("Server is running at http://%s:%s", config.host, config.port)
})

app.get('/', function (req, res) {
    res.json({ message: 'Hello World' })
    // res.send('Hello World');
})

// 采集最新开奖数据
app.get('/api/dlt/index/refresh', function (req, res) {
    res.send(JSON.stringify((new SpiderModel()).run()));
    // res.send('success');
})
// 返回大乐透官方开奖数据
app.get('/api/dlt/index/index', function (req, res) {
    res.send(JSON.stringify((new DltDataModel()).index()));
    // res.send('success');
})
// 手动执行定时任务
app.get('/api/dlt/index/task', function (req, res) {
    res.send('success');
})
// 返回所有订单名称列表
app.get('/api/dlt/order/index', function (req, res) {
    res.send('success');
})
// 保存订单
app.post('/api/dlt/order/save', function (req, res) {
    res.send('success');
})
// 读取订单
app.get('/api/dlt/order/read', function (req, res) {
    res.send('success');
})
